Using structured data for online research

ABSTRACT

Various embodiments utilize structured data contained within a resource, such as a web page, to enable a user to define collections of data. Individual constituent parts of a collection or “links” are collected within a collection. In one or more embodiments, a full page viewing experience can be provided which enables users to not only view more details for a given link, but to view multiple different links at a time. Other viewing options and collection interactions are provided.

RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 11/705,350, filed Feb. 12, 2007, the disclosure ofwhich is incorporated in its entirety by reference herein.

BACKGROUND

Some of the tasks that a user performs online involve researching andcomparing various items that they find on the web using their webbrowser. For example, a user may be looking for a new apartment in aparticular area of Seattle. Over the course of their research, they mayvisit four or five different real estate sites and find one or twoapartments on each site that are of particular interest to them.Typically, to compare the various apartments, the user may have tophysically print a copy and paste multiple apartment listings into adocument or spreadsheet. Needless to say, this is a very manual process.

Alternately, the user may opt to save each apartment page in a favoriteslist. This list is typically displayed in a control that is off to theside of the browser window. Here, however, when the user wishes toreview their selections, the user is still faced with the onerous taskof manually accessing each link and reviewing, in a generally serialfashion, the various apartments associated with the various links.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

Various embodiments utilize structured data contained within a resource,such as a web page, to enable a user to define collections of data.Individual constituent parts of a collection or “links” are collectedwithin a collection. In one or more embodiments, a full page viewingexperience can be provided which enables users to not only view moredetails for a given link, but to view multiple different links at atime.

In one or more embodiments, the browser can provide multiple differentselectable views that can be applied to the various collections.Accordingly, the user can define how data of the collection is presentedto them. Further, in at least some embodiments, custom views can bedefined and permit views of the collections to be flexibility andextensibly defined.

BRIEF DESCRIPTION OF THE DRAWINGS

The same numbers are used throughout the drawings to reference likefeatures.

FIG. 1 illustrates a system in which various principles described hereincan be employed in accordance with one or more embodiments.

FIG. 2 illustrates an example web page that includes structured data inaccordance with one or more embodiments.

FIG. 3 illustrates an example collection in accordance with one or moreembodiments.

FIG. 4 illustrates a web page in accordance with one or moreembodiments.

FIG. 5 is a flow diagram that describes steps in a method in accordancewith one or more embodiments.

FIG. 6 illustrates an example full page view that presents a collectionhaving links from various different sources in accordance with one ormore embodiments.

FIG. 7 illustrates an example title view of a collection in accordancewith one or more embodiments.

FIG. 8 illustrates a view that allows collections to be searched inaccordance with one or more embodiments.

FIG. 9 is a flow diagram that describes steps in a method in accordancewith one or more embodiments.

FIG. 10 illustrates an example system that can be used to implement oneor more embodiments.

DETAILED DESCRIPTION Overview

Various embodiments utilize structured data contained within a resource,such as a web page, to enable a user to define collections of data.Individual constituent parts of a collection or “links” are collectedwithin a collection. In one or more embodiments, a full page viewingexperience can be provided which enables users to not only view moredetails for a given link, but to view multiple different links at atime.

In one or more embodiments, the browser can provide multiple differentselectable views that can be applied to the various collections.Accordingly, the user can define how data of the collection is presentedto them. Further, in at least some embodiments, custom views can bedefined and permit views of the collections to be flexibility andextensibly defined.

In the discussion that follows, a section entitled “Example System” isprovided and describes one system that can be used to implement theembodiments described herein. Following this, a section entitled“Example Structured Data” is provided and introduces the notion ofstructured data. Following this, a section entitled “Example Collection”is provided and describes features of a collection in accordance withone or more embodiments. A section entitled “Building A Collection” isthen provided and describes how a user can build an example collectionin accordance with one or more embodiments. Following this, a sectionentitled “Viewing or Operating on Collections” is provided anddescribes, in various sub-sections, how a user can build or otherwiseinteract with collections in one or more embodiments.

Example System

FIG. 1 illustrates a system in accordance with one or more embodiments,generally at 100. System 100 includes a computing device 102 having oneor more processors 104, one or more computer-readable media 106 and oneor more applications 108 that reside on the computer-readable media andwhich are executable by the processor(s). The computer-readable mediacan include, by way of example and not limitation, all forms of volatileand non-volatile memory and/or storage media that are typicallyassociated with a computing device. Such media can include ROM, RAM,flash memory, hard disk, removable media and the like. In addition,computing device 102 includes an application in the form of a webbrowser 110. Any suitably configured web browser can be utilized,examples of which are commercially available from the assignee of thisdocument and others. One specific example of a computing device is shownand described below in FIG. 10.

In one or more embodiments, the web browser includes or otherwise makesuse of a collection module 112 which functions as described above andbelow. The collection module can comprise a native part of the browser,a plug-in which is subsequently added to the browser, and/or astandalone component that is used or otherwise leveraged by the browser.

Although computing device 102 is illustrated in the form of a desktopcomputer, it is to be appreciated and understood that other computingdevices can be utilized without departing from the spirit and scope ofthe claimed subject matter. For example, other computing devices caninclude, by way of example and not limitation, portable computers,handheld computers such as personal digital assistants (PDAs), cellphones and the like.

Example Structured Data

In one or more embodiments, at least some of the data that is subject tothe collection forming functionality is so-called structured data.Structured data refers to data that is in a format that can be utilizedby the collection module 112. Structured data can be formatted inaccordance with known or subsequently developed structured datastandards, such as Extensible Markup Language (XML) or HyperText MarkupLanguage (HTML). For example, the structured data can be described in aweb page's HTML in a manner that identifies the data's particular datatype. Specifically, in one or more embodiments, HTML tags can beutilized to associate a data type with a particular instance of data.Alternately or additionally, structured data can be formatted usingother standards, both public and private without departing from thespirit and scope of the claimed subject matter.

As an example, consider FIG. 2. There, a web page 200 includes anapartment listing 202. In this particular instance, the apartmentlisting is associated with fields having data types that include anapartment data type, address data type, rent data type, features datatype and a picture data type. These fields are described in the page'sHTML 204 by, for example, suitable HTML tags such as the illustratedtags. Other methods and techniques can be used to associate data typeswith a web site's data. For example, the data types can be described inheader information or other metadata that is associated with the page.

In the example just above, the structured data was specificallydescribed as structured data through the web page's HTML. It is alsopossible, however, for data to not be specifically described asstructured data, but to be subsequently processed and utilized by thecollection module 112 as will become apparent below.

In one or more embodiments, structured data can also come from locationsother than web pages. For example, structured data can be sourced fromvarious feeds, such as RSS feeds, from data that has been added to theclient, e.g. to a suitable web store, and/or from various webapplications. It is to be appreciated and understood that structureddata can come from other locations as well, all of which are within thespirit and scope of the claimed subject matter.

Having discussed the general notion of structured data, consider now anexample collection in accordance with one or more embodiments.

Example Collection

In one or more embodiments, a collection can be considered to include acollection of links that a user has, with a browser or some otherapplication, organized in some way, such as in a folder. A collectioncan hold many different types of information.

As an example, consider FIG. 3. There, a collection 300 can includelinks 302 having structured data, links 304 without structured data,other collections 306 to provide for nested collections, and/orstructured data without links 308. Links without structured data can beconsidered as links whose data are not defined in a manner that enablesthe data's data type(s) to be ascertained. Structured data without linkscan include content that resides locally that is expressed as structureddata. A collection need not have all of the different types ofinformation described above. For example, it is possible for acollection to contain only links having structured data.

Links of a collection can be associated with different data types. Forexample, an individual apartment link in collection 300, such as link302, can include by way of example and not limitation, data types thatinclude apartment, address, rent, features and image data types. In viewof the fact that collections can hold a wide variety of different typesof information or links, a wide variety of other data types arepossible. Other data types can include, by way of example and notlimitation, calendar events, photos, products, videos and the like.

Having discussed the general notion of a collection, consider now how auser can build a collection in one or more embodiments.

Building a Collection

In one or more embodiments, when a browser receives a resource such as aweb page via the Internet, it parses the web page's HTML to ascertainwhether there is any structured data contained in the page. Identifyingstructured data can be performed in any suitable way. For example, ifthe structured data is specifically described in the web page's HTML, asin the example above, identifying the structured data can be performedby examining the HTML itself. Alternately or additionally, if theresource is a web application, the structured data can be identifiedthrough the programmatic interaction between the browser and theapplication. Alternately or additionally, if the resource is a feed,such as an RSS feed, the structured data can be identified by parsingthe RSS feed data.

Once structured data has been identified whether on a web page or someother resource, the browser can present a visual indicator to indicatethe presence of structured data and that the structured data can beadded to a collection. Any suitable visual indicator can be utilized andany suitable way of presenting the indicator can be used.

As an example, consider FIG. 4 which illustrates the FIG. 2 web page.Notice that along side apartment listing 202 a visual indicator 400 inthe form of an “Add” button or icon is displayed. This indicator informsthe user that the apartment listing includes structured data that can beadded to a collection. In one or more embodiments, the icon can bedisplayed automatically when the page is rendered. In one or more otherembodiments, the icon can be selectively displayed when, for example,the user hovers their cursor over or near the structured data.

In one or more embodiments, if the user invokes an add operation on thestructured data by, for example, clicking on the visual indicator, thebrowser can present further dialogs that permit the user to select acollection or create a new collection where the link is to be stored.Storing the link in a collection can include, by way of example and notlimitation, storing actual items of the link and its structured data inthe collection. Alternately, storing the link can include simply storinga reference to the link, along with any other information that might bestored.

FIG. 5 is a flow diagram that illustrates steps in a method inaccordance with one embodiment. The method can be implemented inconnection with any suitable hardware, software, firmware or combinationthereof. In one or more embodiments, the method can be implemented by asuitably configured web browser, such as the one shown and described inFIG. 1.

Step 500 receives a resource having structured data. Any suitableresource can be received examples of which are given above. Step 502identifies structured data associated with the resource. Examples of howthis can be done are given above. Step 504 presents a visual indicatorthat indicates the presence of structured data and that a linkassociated with the data can be added to a collection. Any suitable typeof visual indicator can be used an example of which is given above. Step506 ascertains whether the user has opted to add the link to thecollection. This step can be performed in any suitable way. For example,if the visual indicator is in the form of a button or tab, the user cansimply click the button or tab. If, at step 506, the user opts to notadd the link to a collection, the method ends at 508. If, on the otherhand, the user opts to add the item to a collection, step 510 adds thelink to a collection. This step can be performed in any suitable way,examples of which are provided above.

Having now discussed the notion of how a user can build a collection,consider now how a suitably configured application, such as a webbrowser, can enable a user to view their collections in one or moreembodiments.

Viewing or Operating on Collections

In the discussion that follows, various different embodiments aredescribed that enable a user to view or otherwise operate uponcollections in different ways. Individual embodiments are describedunder their own respective headings.

Full Page Collection View

In one or more embodiments, an application such as a web browser canprovide the ability to view collections in a full page view. Further, inone or more embodiments, this full page view can enable the user to viewlinks associated with different sources or resources, such as variousweb pages, data from various feeds such as RSS feeds, data added by theclient and various web applications and the like. Any suitable type ofview can be provided.

As but one example, consider FIG. 6 which illustrates, generally at 600,a full page view that presents a collection having links from variousdifferent sources in accordance with one or more embodiments. The viewthat is presented is a generally uniform summary view that includes asummary of the information from the link. In this particular example,the summary view can include, for each link, a title, a thumbnail image,and a few lines of properties associated with the link. The informationcontained in the summary view has been gleaned by the web browser fromthe HTML associated with the link. In addition, in one or moreembodiments, a user interface component 601 in the form of a view dropdown menu can be provided to enable the user to select from amongdifferent views, as will become apparent below.

In this example, full page view 600 includes four different links 602,604, 606 and 608. Each individual link is represented by a title 602 a,604 a, 606 a and 608 a respectively. In addition, each individual linkincludes a thumbnail image as shown. Further each individual linkincludes a few lines of properties located adjacent and to the right ofits associated thumbnail image.

As noted above, the links in a collection can, but need not, come fromdifferent sources or different types of sources. In the present example,links 602, 604 have come from a web page; link 606 has come from a webapplication; and, link 608 has come from an RSS feed.

Having a full page summary view of the links in a collection providesthe user with the ability to compare various items in a side-by-sidefashion. The summary view provides enough information for the user tounderstand, at least preliminarily, some of the content associated withthe link. In addition, in at least some embodiments, by clicking on orotherwise selecting a particular displayed link, the user's browser cannavigate to the web page associated with the structured data or open anassociated file if there is no link to a web page.

In one or more embodiments, the summary view constitutes but one viewthat is available for the user, as will become apparent below.

Collection View with Structured and Unstructured Data

In one or more embodiments, an application such as a web browser canprovide the ability to both build collections and view collections thathave links that are associated with structured data and links that donot have structured data. As an example, consider FIG. 7. There, a view700 is shown and represents a so-called title view that displays, for acollection, individual titles of the links that make up the collection.In this example, view 700 includes links that are both associated withstructured data—such as links 702, 704, and links that are notassociated with structured data—such as links 706, 708. In this example,the titles associated with the structured data may include richproperties that allow them to be presented in a creative way, such as byhaving a unique font and/or icon associated with them. The links thatare not associated with structured data may not have rich properties andmay therefore be represented as simply textual titles. Therepresentation of the links associated with the unstructured data can beconsidered as somewhat analogous to a list of a person's favorites.However, by including links associated with structured data in thecollection, the user can be exposed to a variety of rich viewing andinteraction experiences.

Searching Collections

In one or more embodiments, an application such as a browser can providethe user with the opportunity to search through a collection. Inaddition, in one or more embodiments, the application can provide theuser with the ability search across multiple collections, as well as topull in search results from sources other than collections. In one ormore embodiments, the results can be based on those items with the sameor similar data types. One example of such a source is the user'shistory of web data. As an example, consider FIG. 8. There, a view 800is shown. In this example, the application or web browser renders a viewthat includes a search box 801 in which a user can type various searchterms to search across one or more collections and/or other sources.

In this example, the user has an apartment collection that they arelooking at in a summary view. In this example, the user has typed“seattle” into the search box to search across their collection forapartment data types having text that matches “seattle” in, for example,the data in the links' address data type. Notice in this example thatthe results have pulled in two links associated with structured datawhich meet the criteria—links 802, 804. Further, in this example, theresults have pulled in two links associated with the user'shistory—here, links 806, 808. These history links have not beenspecifically marked by the user as comprising part of the collection.Yet, in one or more embodiments, the application or browser can build aresult set that includes them. In situations like this, the user mayhave forgotten to add a particular browsed link to their collection but,nonetheless, would be interested in viewing it. In one or moreembodiments, a user also has the option of selecting a link from theirhistory and adding it to their collection. In the illustrated example,this can be performed by dragging and dropping the link from the historyportion of the display to the collection portion of the display.

In addition, in one or more embodiments, a control box 810 can beprovided and can enable the user to search across a collection orcollections using various means such as properties and/or data types. Inthis particular example, the current search has pulled in two resultsout of the ten links that make up the user's collection—hence the“Displaying 2/10” that appears in the figure. Here, the user has theoption of sorting the search results in accordance with variousparameters such as, by way of example and not limitation, title, dateadded, price and size—each of which can be a different data typeassociated with the link. In addition, the user can also filter onparticular data types associated with the links. Here, the links can befiltered on the data type “location” for values that correspond to thosethat are shown, i.e. “Capitol Hill” and “Downtown”.

Thus, the structured data and its manner of representing data as datatypes can provide a very powerful mechanism for enabling a user to notonly build unique and robust collections, but to view and manipulatelinks of the collection as well.

Multiple Different Selectable Collection Views

As alluded to above, in one or more embodiments, the application or webbrowser can provide multiple different types of views for a user to viewlinks of their collection.

In one embodiment, three different types of views are provided—a titleview, a summary view and a detailed view. The different views, as wellas others, can be selected via any suitable type of user interfacecomponent, such as user interface component 601 in FIG. 8.

In one or more embodiments, when a web browser receives a web page, theweb page is typically described by HTML that includes variousdescriptions and definitions. One of the things that HTML can includeare a number of styles that can be applied to the structured data. Astyle defines, in some manner, how the data is going to look when it isrendered into a web page. To provide the user with a degree offlexibility in how they view their links, the title view and the summaryview can be presented as text or text/image displays. That is, in theseviews, the various styles and other HTML can be stripped so that a moreconcise visual representation of the data can be presented. For example,FIG. 7 shows an example title view in which only the title of the linkis displayed. FIGS. 6 and 8, on the other hand, show an example summaryview that includes not only the title of the link, but some additionalinformation including an image and a few lines of properties associatedwith the link.

The detailed view represents a more thorough display of the link. Forexample, the detailed view can show the actual HTML that was capturedfrom the web page in the manner in which it was intended to bepresented. In the apartment example, this can include providing, for anyparticular link, multiple views of the apartment along with a virtualtour of the apartment in which the user can “walk through” theapartment.

Having multiple different types of selectable views can enable the userto view links in their collection in a manner that is most convenientfor them. For example, the user may be very familiar with the links intheir collection so that the title view is all that they need to accessthe links for which they are looking. Alternately, the user may be inthe preliminary stages of conducting online research so that the summaryview provides just enough information to inform the user about a link,but is concise enough to allow a side-by-side presentation andcomparison of various links. In this example, if the user finds aparticular link of interest, they can simply select that link and changeto a detailed view where they can see all of the details associated withthat particular link.

Detecting Items that have Changed

In one or more embodiments, if a particular item that is part of acollection has changed in some way, a visual cue can be presented toindicate such a change. For example, if an apartment price has changed,then the browser can detect this and provide a gleam or some other typeof visual indication to bring this to the user's attention.

Flagging or Commenting on Collection Items

In one or more embodiments, an application or web browser can providethe user with the option to flag or comment on a particular link. If auser flags or comments on a link, the flag or comment then becomes aproperty of the link and can be associated with, but stored separatelyfrom the link. The user is then able to see the flag or comment withinthe collection view because the comment or flag effectively becomes partof the link when it is displayed.

Custom Collection Views Based on Data Type

In one or more embodiments, an application or web browser can providethe ability to define one or more custom views for a collection. In atleast one embodiment, a custom view can be defined by a data type. So,for example, a contact management experience can create a browsercollection view for contacts, as well as other views based on datatypes. If a collection includes predominately contacts, then the browsercan select the custom contact view as a default view of the collection.The user, of course, can change the views. In one or more embodiments,custom views can allow for user interaction. For example, custom viewscan allow a user to filter based on things such as data type and otherparameters.

In one or more embodiments, third parties can design custom views thatcan be added to the browser. For example, in the apartment collectiondescribed above, a third party may design a map view which displays amap that has pin points that indicate the locations of the variousapartments of the collection. The user would then be free to switchbetween the different views. So, for example, the user may search aparticular collection for apartments in the Capitol Hill area ofSeattle. When the Capitol Hill apartments are displayed in a summaryview, as in FIG. 8, the user may then select a custom-designed map viewto see where these particular apartments appear on the map.

In one or more embodiments, the individual custom views can be designedto provide a view which is defined by a data type associated with alink. For example, in the apartment collection scenario mentioned justabove, the map view can be provided as a viewing option when a user'scollection includes data of the type “apartment”. In these embodiments,the web browser can ascertain the data types associated with theparticular collection, and then make an intelligent decision on whichviews to expose to the user.

Auto-Converting Links into Collections with Data Types

In one or more embodiments, if a user upgrades from a browser that doesnot support collections to one that does support collections, the newbrowser can automatically analyze the user's saved links andauto-convert them into one or more collections. To do this, the browsercan retrieve the web pages associated with the links and analyze the webpages for structured data that is available. If the web browser findsstructured data that describes various data types associated with theweb page, it can process the structured data and add the associatedlinks into a collection. For example, if the user has bookmarked severallinks under a folder called “apartments”, then the browser canautomatically set up a collection called “apartments”. The browser canthen add the individual links as members of the collection. This can bedone, in some embodiments, where some links are associated withstructured data and where some links are not associated with structureddata, as in the example above.

FIG. 9 is a flow diagram that describes steps in a method in accordancewith one or more embodiments. The method can be implemented in anysuitable hardware, software, firmware or combination thereof. In one ormore embodiments, the method can be implemented by a suitably configuredweb browser application, such as the one described above.

Step 900 provides one or more collections. This step can be performed inany suitable way. For example, in one or more embodiments, a web browsercan provide user interface components that enable a user to discover andadd particular links to a collection. Examples of how this can be doneare described above. Step 902 presents the user with an option to viewone or more collections in multiple different ways. This step can beperformed in any suitable way. For example, in at least someembodiments, when the user displays a collection, a user interfacecomponent in the browser can enable a user to see and then select fromamong a number of different views. One example of a user interfacecomponent is provided above. Any suitable type of view option can bepresented to the user. For example, some view options can enable theuser to see a full page view of their collection along with informationthat may be of interest to them, such as a title, images and/or a shortlist of properties associated with the link. In addition, in at leastsome embodiments, the links that are viewable can come from differentsources such as, for example, web pages, web applications, feeds and thelike. Alternately or additionally, in at least some embodiments, one ormore viewing options provide the user with the ability to view bothlinks that are associated with structured data and links that are notassociated with structured data.

Further, in at least some embodiments, the viewing options that arepresented to the user can include user interface instrumentalities thatcan enable the user to search a collection or collections. In at leastsome of the searching embodiments, in addition to searching acrosscollections, the browser can provide the user with the ability to searchacross sources other than collections and have the results displayedalong with the collection search results.

Continuing, in one or more embodiments, some of the other viewingoptions that can be presented to the user include, by way of example andnot limitation, a title view, a summary view and a detailed view each ofwhich is described above. Alternately or additionally, one of theviewing options can enable the user to flag or otherwise comment on aparticular link. Alternately or additionally, another viewing option canenable the user to select from among one or more custom-designed views.These custom-designed views can, but need not, be based on various datatypes that are associated with the links.

FIG. 10 illustrates an example computing device 1000 that can implementthe various embodiments described above. Computing device 1000 can be,for example, computing device 102 of FIG. 1 or any other suitablecomputing device.

Computing device 1000 includes one or more processors or processingunits 1002, one or more memory and/or storage components 1004, one ormore input/output (I/O) devices 1006, and a bus 1008 that allows thevarious components and devices to communicate with one another. Bus 1008represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. Bus 1008 can include wired and/or wirelessbuses.

Memory/storage component 1004 represents one or more computer storagemedia. Component 1004 can include volatile media (such as random accessmemory (RAM)) and/or nonvolatile media (such as read only memory (ROM),Flash memory, optical disks, magnetic disks, and so forth). Component1004 can include fixed media (e.g., RAM, ROM, a fixed hard drive, etc.)as well as removable media (e.g., a Flash memory drive, a removable harddrive, an optical disk, and so forth).

One or more input/output devices 1006 allow a user to enter commands andinformation to computing device 1000, and also allow information to bepresented to the user and/or other components or devices. Examples ofinput devices include a keyboard, a cursor control device (e.g., amouse), a microphone, a scanner, and so forth. Examples of outputdevices include a display device (e.g., a monitor or projector),speakers, a printer, a network card, and so forth.

Various techniques may be described herein in the general context ofsoftware or program modules. Generally, software includes routines,programs, objects, components, data structures, and so forth thatperform particular tasks or implement particular abstract data types. Animplementation of these modules and techniques may be stored on ortransmitted across some form of computer readable media. Computerreadable media can be any available medium or media that can be accessedby a computing device. By way of example, and not limitation, computerreadable media may comprise “computer storage media” and “communicationsmedia.”

“Computer storage media” include volatile and non-volatile, removableand non-removable media implemented in any method or technology forstorage of information such as computer readable instructions, datastructures, program modules, or other data. Computer storage mediainclude, but are not limited to, RAM, ROM, EEPROM, flash memory or othermemory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed by acomputer.

“Communication media” typically embody computer readable instructions,data structures, program modules, or other data in a modulated datasignal, such as carrier wave or other transport mechanism. Communicationmedia also include any information delivery media. The term “modulateddata signal” means a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in the signal.By way of example, and not limitation, communication media include wiredmedia such as a wired network or direct-wired connection, and wirelessmedia such as acoustic, RF, infrared, and other wireless media.Combinations of any of the above are also included within the scope ofcomputer readable media.

CONCLUSION

Various embodiments utilize structured data contained within a resource,such as a web page, to enable a user to define collections of data.Individual constituent parts of a collection or “links” are collectedwithin a collection. In one or more embodiments, a full page viewingexperience can be provided which enables users to not only view moredetails for a given link, but to view multiple different links at atime.

In one or more embodiments, the browser can provide multiple differentselectable views that can be applied to the various collections.Accordingly, the user can define how data of the collection is presentedto them. Further, in at least some embodiments, custom views can bedefined and permit views of the collections to be flexibility andextensibly defined.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

What is claimed is:
 1. One or more computer-readable storage memoryembodying processor-executable instructions which, responsive toexecution by at least one processor, are configured to: receive aresource having structured data, the structured data described using oneor more data types; identify structured data associated with theresource by examining a markup language associated with the resource forone or more descriptions of the structured data contained within themarkup language; render the resource having structured data; present avisual indicator that indicates that a link associated with thestructured data can be added to a collection, wherein to present avisual indicator comprises displaying the visual indicator with therendered resource; enable display of a collection that has linksassociated with structured data and links that are not associated withstructured data; and enable selection of an option to view one or morecollections in multiple different ways, wherein at least one of the waysthat a collection can be viewed is a full page view that includes asummary of information from individual links, the full page viewconfigured to enable a side-by-side comparison of items in a link. 2.The one or more computer-readable storage memory of claim 1, wherein theprocessor-executable instructions to examine a markup language arefurther configured to examine HyperText Markup Language (HTML)associated with the resource.
 3. The one or more computer-readablestorage memory of claim 1, wherein the processor-executable instructionsare further configured to: ascertain whether a user has opted to add thelink to a collection; and responsive to the user opting to add the linkto the collection, add the link to the collection.
 4. The one or morecomputer-readable storage memory of claim 3, wherein the visualindicator comprises a button or tab, and the act of ascertaining isperformed by ascertaining whether the user has clicked on the button ortab.
 5. The one or more computer-readable storage memory of claim 1,wherein the processor-executable instructions to display the visualindicator with the resource rendered are further configured toautomatically display the visual indicator when the resource isrendered.
 6. The one or more computer-readable storage memory of claim1, wherein the processor-executable instructions to display the visualindicator with the resource rendered are further configured toselectively display the visual indicator responsive to detection of acursor hovering over or near the structured data.
 7. The one or morecomputer-readable storage memory of claim 1, wherein theprocessor-executable instructions are further configured to present anoption to view one or more collections in multiple different ways. 8.One or more computer-readable storage memory embodyingprocessor-executable instructions which, responsive to execution by oneor more processors, implement a web browser configured to: provide oneor more collections, wherein at least one of the collections includes alink that is associated with structured data that describes at least onedata type of data associated with the link; display a search boxconfigured to enable a user to enter a search term; receive a searchterm via the search box; enable a search of the one or more collectionsbased, at least in part, on the received search term; enable display ofinformation associated with one or more links from the one or morecollections that match the received search term; provide a collectionthat has links associated with structured data and links that are notassociated with structured data; and present the user with an option toview one or more collections in multiple different ways, wherein atleast one of the ways that a collection can be viewed is a full pageview that includes a summary of information from individual links, thesummary of information including, for at least some links, a title, animage, and one or more properties associated with the link, wherein thefull page view is configured to enable a side-by-side comparison ofitems in a link.
 9. The one or more computer-readable storage memory ofclaim 8, wherein the processor executable instructions are furtherconfigured to enable multiple links in a collection, wherein at leastsome links of the multiple links come from different types of sources.10. The one or more computer-readable storage memory of claim 8, whereinone of the ways in which a collection can be viewed is through a titleview.
 11. The one or more computer-readable storage memory of claim 8,wherein the web browser is further configured to: search bothcollections and sources other than the collections based, at least inpart, on the received search term; and present results from both thecollections and the sources other than the collections.
 12. The one ormore computer-readable storage memory of claim 8, wherein the webbrowser is further configured to enable a user to flag or comment on aparticular link.
 13. The one or more computer-readable storage memory ofclaim 8, wherein processor-executable instructions are furtherconfigured to: analyze multiple saved links that are not part of acollection effective to identify structured data; and add each of themultiple saved links to one or more collections based, at least in part,on the identified structured data.
 14. The one or more computer-readablestorage memory of claim 13, wherein the processor-executableinstructions to analyze multiple saved links are further configured to:retrieve web content associated with each link of the multiple savedlinks; identify structured data within the web content that describesvarious data types associated with the web content; and add eachassociated link of the identified structured data to a collectionassociated with at least one data time of the various data types. 15.The one or more computer-readable storage memory of claim 8, wherein theprocessor-executable instructions are further configured to present oneor more visual indications when content associated with the linkincluded in the at least one collection has changed.
 16. Acomputer-implemented method comprising: receiving a resource havingstructured data, the structured data described using one or more datatypes; identifying structured data associated with the resource;responsive to identifying the structured data, presenting a visualindicator that indicates that a link associated with the structured datacan be added to a collection; enabling display of a collection that haslinks associated with structured data and links that are not associatedwith structured data; and enabling selection of an option to view one ormore collections in multiple different ways, wherein at least one of theways that a collection can be viewed is a full page view that includes asummary of information from individual links, the full page viewconfigured to enable a side-by-side comparison of items in a link. 17.The computer-implemented method of claim 16 further comprising:receiving input indicating to add the link associated with thestructured data to a collection; display an indication of an existingcollection to which the link can be added, or an indication that a newcollection can be created; and receiving input indicating to: add thelink to the existing collection; or create a new collection and add thelink to the new collection.
 18. The computer-implemented method of claim17 further comprising: detecting a change associated with the structureddata associated with the link; and displaying a visual indicationassociated with detecting the change.
 19. The computer-implementedmethod of claim 17 further comprising: receiving at least one filterparameter associated with said collection to which the link is added;filtering said collection to which the link is added based, at least inpart, on the at least one filter parameter; and displaying said filteredcollection.
 20. The computer-implemented method of claim 16 whereinenabling display of a collection further comprises: identifying a typeof data associated with the structured data; determining that most ofthe links in the collection contain the identified type of data; andpresenting a display option that is customized to the identified type ofdata.